main 반영#618
Conversation
Why: 레슨 질문 모달에서 업로드 공개 URL을 imageKeys로 보내 백엔드가 잘못된 R2 key를 재서명하던 문제를 막기 위함. Constraint: origin/develop 기반 클린브랜치에서 레슨 QnA 이미지 key 변환만 수정하고 API 계약은 변경하지 않음. Tested: yarn eslint src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-qna-submission-modal.tsx --fix Tested: yarn biome format --write src/app/(class-lesson)/class/vibe-intro/lesson/[id]/_components/lesson-qna-submission-modal.tsx Tested: yarn typecheck Tested: git diff --check Co-authored-by: OmX <omx@oh-my-codex.dev>
class E2E 테스트 추가 및 버그 수정
Co-authored-by: OmX <omx@oh-my-codex.dev>
Co-authored-by: OmX <omx@oh-my-codex.dev>
Co-authored-by: OmX <omx@oh-my-codex.dev>
Co-authored-by: OmX <omx@oh-my-codex.dev>
…y-20260516 QnA 이미지 키 전송 오류 수정
Co-authored-by: OmX <omx@oh-my-codex.dev>
…-notion-paste fix: 노션 복붙 본문 유실 방지
…teRequest 타입 추가 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…화 범위 보완 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
프론트 레포를 운영 릴리즈 기록 SSOT로 두고 main prod 배포 및 backend-prod-deployed dispatch 기반 release record 자동 기록을 추가합니다.\n\n검증:\n- lint\n- prettier\n- typecheck\n- build\n- storybook\n- e2e\n- security\n- validate-release-records\n- Chromatic
Co-authored-by: OmX <omx@oh-my-codex.dev>
PR #613의 develop -> main 병합 전 충돌을 해소하기 위해 origin/main 변경사항을 develop에 반영합니다. 커리큘럼 드로어 배지 E2E는 develop의 scoped locator 방식을 유지해 Playwright strict mode 중복 매칭을 방지합니다. Constraint: PR #613은 develop에서 main으로 올리는 운영 반영 PR이므로 develop에 main 최신 변경사항을 먼저 흡수한다 Rejected: page-global or locator 복원 | strict mode에서 배지 컨테이너와 아이콘이 동시에 매칭될 수 있음 Confidence: high Scope-risk: moderate Tested: yarn eslint e2e/class/curriculum-drawer.spec.ts Tested: git diff --check Related: PR #613 Co-authored-by: OmX <omx@oh-my-codex.dev>
Notion 등 복합 HTML 붙여넣기에서 텍스트/표/이미지 순서를 보존하고, 실제 클립보드 payload 확인을 위한 어드민 진단 페이지를 추가합니다.
공용 MarkdownEditor의 복합 붙여넣기에서 표를 마크다운 표로 보존하고 Notion attachment 이미지는 위치 안내 문구로 남깁니다.
Co-authored-by: OmX <omx@oh-my-codex.dev>
Co-authored-by: OmX <omx@oh-my-codex.dev>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
slug 독립성을 위해 코스 공용 에셋을 vibe-intro 하위에서 class/ 공통 경로로 이동. curriculum SVG 10개 + 루트 에셋 5개 이동. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…be-intro → class/ 경로 이동 slug 독립성을 위해 모든 클래스 컴포넌트를 vibe-intro 하위에서 class/ 공통 경로로 이동. builder-feed-utils 유틸 분리 및 admin/builder-profile 동적 slug 참조 수정. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(class-lesson)/class/vibe-intro/lesson/[id] → /class/[slug]/lesson/[id] (landing)/class/vibe-intro/** → /class/[slug]/** [id]/page.tsx를 [slug]/page.tsx로 통합 (동일 레벨 동적 세그먼트 충돌 해결) (service)/payment: courseSlug 기반 폴백 처리 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… slug 가드 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… 데드 코드 제거 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (25)
📒 Files selected for processing (64)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
🌱 연관된 이슈
☘️ 작업 내용
🍀 참고사항
🎨 디자인 비교 (UI 컴포넌트 PR에만 작성)
비교 결과
스크린샷 (선택)